﻿//using System;
//using System.Data;
//using System.Threading;
//using System.Timers;
//using RxjhServer.DbClss;

//namespace RxjhServer
//{
//	public class EventClass : IDisposable
//	{
//		private readonly System.Timers.Timer 时间1;

//		private System.Timers.Timer 时间2;

//		private System.Timers.Timer 时间3;

//		private System.Timers.Timer 时间4;

//		private System.Timers.Timer 时间5;

//		private DateTime kssj;

//		private DateTime kssjgj;

//		private int kssjint;

//		private int 势力战sj;

//		public int 势力战要求转职状态;

//		public EventClass(int 转职)
//		{
//			try
//			{
//				if (World.jlMsg == 1)
//				{
//					Form1.WriteLine(0, "EventClass-");
//				}
//				World.EventTop.Clear();
//				this.势力战要求转职状态 = 转职;
//				this.kssj = DateTime.Now.AddMinutes(10.0);
//				World.势力战进程 = 1;
//				World.conn.发送("势力战进程|1|0|" + this.势力战要求转职状态);
//				World.势力战正分数 = 0;
//				World.势力战邪分数 = 0;
//				World.势力战第一滴血 = 0;
//				this.时间1 = new System.Timers.Timer(60000.0);
//				this.时间1.Elapsed += new ElapsedEventHandler(this.时间结束事件1);
//				this.时间1.Enabled = true;
//				this.时间1.AutoReset = true;
//				this.时间结束事件1(null, null);
//			}
//			catch (Exception arg)
//			{
//                Dispose();
//                Form1.WriteLine(1, "势力战 EventClass 出错：" + arg);
//			}
//		}

//		public void 时间结束事件1(object source, ElapsedEventArgs e)
//		{
//			if (World.jlMsg == 1)
//			{
//				Form1.WriteLine(0, "EventClass_时间结束事件1");
//			}
//			try
//			{
//				int num = (int)this.kssj.Subtract(DateTime.Now).TotalSeconds;
//				if (num <= 0)
//				{
//					World.势力战进程 = 2;
//					World.conn.发送("势力战进程|2|0|" + this.势力战要求转职状态);
//					World.势力战正分数 = 0;
//					World.势力战邪分数 = 0;
//					World.势力战第一滴血 = 0;
//					num = 0;
//				}
//				this.kssjint = num;
//				if (this.势力战要求转职状态 == 3)
//				{
//				//	World.conn.发送(string.Concat(new object[]
//				//	{
//				//		"势力战公告|2|",
//				//		this.势力战要求转职状态,
//				//		"|离2-3转势力战开始及参加申请还剩下",
//				//		(num + 59) / 60,
//				//		"分钟。请由相应NPC处申请进入"
//				//	}));
//				   //string msg = "离2-3转势力战开始及参加申请还剩下" + (num + 59) / 60 + "，分钟。请由相应NPC处申请进入";
//				   World.conn.发送("全服公告|6|系统提示|离3转势力战开始及参加申请还剩下" + (num + 59) / 60 + "分钟，由[1线]关主处申请进入!");
//				}
//				else if (this.势力战要求转职状态 == 4)
//				{
//					//World.conn.发送(string.Concat(new object[]
//					//{
//					//	"势力战公告|2|",
//					//	this.势力战要求转职状态,
//					//	"|离4-5转势力战开始及参加申请还剩下",
//					//	(num + 59) / 60,
//					//	"分钟。请由相应NPC处申请进入"
//					//}));
//				   World.conn.发送("全服公告|6|系统提示|离4转势力战开始及参加申请还剩下" + (num + 59) / 60 + "分钟，由[1线]关主处申请进入!");
//				}
//				foreach (Players current in World.allConnectedChars.Values)
//				{
//					if (current.人物坐标_地图 == 801)
//					{
//						current.发送势力战快开始消息(this.kssjint);
//					}
//				}
//				if (this.kssjint <= 0)
//				{
//					this.时间1.Enabled = false;
//					this.时间1.Close();
//					this.时间1.Dispose();
//					World.势力战进程 = 3;
//					World.conn.发送("势力战进程|3|0|" + this.势力战要求转职状态);
//					this.kssjgj = DateTime.Now.AddMinutes(15.0);
//					this.时间2 = new System.Timers.Timer(10000.0);
//					this.时间2.Elapsed += new ElapsedEventHandler(this.时间结束事件2);
//					this.时间2.Enabled = true;
//					this.时间2.AutoReset = true;
//				}
//			}
//			catch (Exception arg)
//			{
//                Dispose();
//                Form1.WriteLine(1, "势力战 时间结束事件1 出错：" + arg);
//			}
//		}

//		public void 时间结束事件2(object source, ElapsedEventArgs e)
//		{
//			if (World.jlMsg == 1)
//			{
//				Form1.WriteLine(0, "EventClass_时间结束事件2");
//			}
//			try
//			{
//				int num = (int)this.kssjgj.Subtract(DateTime.Now).TotalSeconds;
//				World.势力战时间 = num;
//				World.conn.发送(string.Concat(new object[]
//				{
//					"势力战进程|3|",
//					num,
//					"|",
//					this.势力战要求转职状态
//				}));
//				foreach (Players current in World.allConnectedChars.Values)
//				{
//					if (current.人物坐标_地图 == 801)
//					{
//						current.发送势力战消息();
//					}
//				}
//				if (num <= 0)
//				{
//					this.时间2.Enabled = false;
//					this.时间2.Close();
//					this.时间2.Dispose();
//					World.势力战进程 = 4;
//					World.conn.发送(string.Concat(new object[]
//					{
//						"势力战进程|4|",
//						World.势力战时间,
//						"|",
//						this.势力战要求转职状态
//					}));
//					this.时间3 = new System.Timers.Timer(30000.0);
//					this.时间3.Elapsed += new ElapsedEventHandler(this.时间结束事件3);
//					this.时间3.Enabled = true;
//					this.时间3.AutoReset = false;
//				}
//			}
//			catch (Exception arg)
//			{
//                Dispose();
//                Form1.WriteLine(1, "势力战 时间结束事件2 出错：" + arg);
//			}
//		}

//		public void 时间结束事件3(object source, ElapsedEventArgs e)
//		{
//			if (World.jlMsg == 1)
//			{
//				Form1.WriteLine(0, "EventClass_时间结束事件3");
//			}
//			try
//			{
//				string arg_18_0 = string.Empty;
//				if (World.势力战正分数 > World.势力战邪分数)
//				{
//					this.势力战sj = 1;
//					World.conn.发送("全服公告|0|势力战|势力战结束正派胜利");
//				}
//				else if (World.势力战正分数 == World.势力战邪分数)
//				{
//					this.势力战sj = 3;
//					World.conn.发送("全服公告|0|势力战|势力战结束双方平局");
//				}
//				else
//				{
//					this.势力战sj = 2;
//					World.conn.发送("全服公告|0|势力战|势力战结束邪派胜利");
//				}
//				foreach (Players current in World.allConnectedChars.Values)
//				{
//					EventTopClass eventTopClass;
//					if (current.人物坐标_地图 == 801 && World.EventTop.TryGetValue(current.UserName, out eventTopClass))
//					{
//						if (current.Player_Zx == this.势力战sj)
//						{
//							if (World.势力战奖励类型 == 1)
//							{
//								current.查百宝阁元宝数();
//								if (World.势力战奖励[0] > 0)
//								{
//									current.系统提示("系统奖励势力战胜利者每人" + World.势力战奖励[0] + "点的攻击", 10, "奖励提示");
//								}
//								if (World.势力战奖励[1] > 0)
//								{
//									current.系统提示("系统奖励势力战胜利者每人" + World.势力战奖励[1] + "点的防御", 10, "奖励提示");
//								}
//								if (World.势力战奖励[2] > 0)
//								{
//									current.系统提示("系统奖励势力战胜利者每人" + World.势力战奖励[2] + "点的生命", 10, "奖励提示");
//								}
//								if (World.势力战奖励[3] > 0)
//								{
//									current.系统提示("系统奖励势力战胜利者每人" + World.势力战奖励[3] + "点的元宝", 10, "奖励提示");
//								}
//								if (World.势力战奖励[4] > 0)
//								{
//									current.系统提示("系统奖励势力战胜利者每人" + World.势力战奖励[4] + "点的武勋", 10, "奖励提示");
//								}
//								current.增加属性(World.势力战奖励[0], World.势力战奖励[1], World.势力战奖励[2], World.势力战奖励[3], World.势力战奖励[4]);
//							}
//							else if (World.势力战奖励类型 == 2 && current.Player_Money + World.势力战奖励[4] <= World.最大钱数 && current.Player_Money + World.势力战奖励[4] > 0)
//							{
//								current.Player_Money += World.势力战奖励[4];
//								current.更新金钱和负重();
//							}
//						}
//						else if (World.势力战奖励类型 == 1)
//						{
//							current.查百宝阁元宝数();
//							if (World.势力战失败奖励[0] > 0)
//							{
//								current.系统提示("系统奖励势力战失败者每人" + World.势力战失败奖励[0] + "点的攻击", 10, "奖励提示");
//							}
//							if (World.势力战失败奖励[1] > 0)
//							{
//								current.系统提示("系统奖励势力战失败者每人" + World.势力战失败奖励[1] + "点的防御", 10, "奖励提示");
//							}
//							if (World.势力战失败奖励[2] > 0)
//							{
//								current.系统提示("系统奖励势力战失败者每人" + World.势力战失败奖励[2] + "点的生命", 10, "奖励提示");
//							}
//							if (World.势力战失败奖励[3] > 0)
//							{
//								current.系统提示("系统奖励势力战失败者每人" + World.势力战失败奖励[3] + "点的元宝", 10, "奖励提示");
//							}
//							if (World.势力战失败奖励[4] > 0)
//							{
//								current.系统提示("系统奖励势力战失败者每人" + World.势力战失败奖励[4] + "点的武勋", 10, "奖励提示");
//							}
//							current.增加属性(World.势力战失败奖励[0], World.势力战失败奖励[1], World.势力战失败奖励[2], World.势力战失败奖励[3], World.势力战失败奖励[4]);
//						}
//						else if (World.势力战奖励类型 == 2 && current.Player_Money + World.势力战失败奖励[4] <= World.最大钱数 && current.Player_Money + World.势力战失败奖励[4] > 0)
//						{
//							current.Player_Money += World.势力战失败奖励[4];
//							current.更新金钱和负重();
//						}
//						current.发送势力战结束消息(this.势力战sj);
//					}
//				}
//				DBA.ExeSqlCommand("DELETE FROM EventTop");
//				foreach (EventTopClass current2 in World.EventTop.Values)
//				{
//					string sqlCommand = string.Format("INSERT INTO EventTop (人物名,帮派,势力,等级,杀人数,死亡数)values('{0}','{1}','{2}',{3},{4},{5})", new object[]
//					{
//						current2.人物名,
//						current2.帮派,
//						current2.势力,
//						current2.等级,
//						current2.杀人数,
//						current2.死亡数
//					});
//					DBA.ExeSqlCommand(sqlCommand);
//				}
//				World.EventTop.Clear();
//				this.个人奖励();
//				World.势力战进程 = 5;
//				World.conn.发送("势力战进程|5|0|" + this.势力战要求转职状态);
//				this.kssjgj = DateTime.Now.AddMinutes(60.0);
//				this.时间3.Enabled = false;
//				this.时间3.Close();
//				this.时间3.Dispose();
//				this.时间4 = new System.Timers.Timer(60000.0);
//				this.时间4.Elapsed += new ElapsedEventHandler(this.时间结束事件4);
//				this.时间4.Enabled = true;
//				this.时间4.AutoReset = true;
//				this.时间5 = new System.Timers.Timer(60000.0);
//				this.时间5.Elapsed += new ElapsedEventHandler(this.时间结束事件5);
//				this.时间5.Enabled = true;
//				this.时间5.AutoReset = true;
//			}
//			catch (Exception arg)
//			{
//                Dispose();
//                Form1.WriteLine(1, "势力战 时间结束事件3 出错：" + arg);
//			}
//		}

//		public void 个人奖励()
//		{
//			if (World.jlMsg == 1)
//			{
//				Form1.WriteLine(0, "EventClass-jl");
//			}
//			try
//			{
//				string[] array = World.势力战奖励个人物品.Split(new char[]
//				{
//					','
//				});
//				if (array.Length > 0)
//				{
//					if (int.Parse(array[0]) != 0)
//					{
//						string sqlCommand = string.Format("Select top {0} * from [EventTop] where 杀人数 > 5 Order By 杀人数 Desc", array[0]);
//						DataTable dBToDataTable = DBA.GetDBToDataTable(sqlCommand);
//						if (dBToDataTable != null && dBToDataTable.Rows.Count > 0)
//						{
//							int num = 0;
//							for (int i = 0; i < dBToDataTable.Rows.Count; i++)
//							{
//								Players players = World.检查玩家name(dBToDataTable.Rows[i]["人物名"].ToString());
//								if (players != null)
//								{
//									try
//									{
//										int num2 = 18000000;
//										if (players.追加状态列表.ContainsKey(9000120))
//										{
//											追加状态类 追加状态类 = players.追加状态列表[9000120];
//											num2 += 追加状态类.FLD_sj;
//											追加状态类.时间结束事件();
//										}
//										追加状态类 追加状态类2 = new 追加状态类(players, num2, 9000120, 1);
//										players.追加状态列表.Add(追加状态类2.FLD_PID, 追加状态类2);
//										players.FLD_人物_追加_经验百分比 += 0.2;
//										players.状态效果(BitConverter.GetBytes(9000120), 1, num2);
//										players.更新武功和状态();
//										players.保存人物的数据();
//										num++;
//										players.系统提示("恭喜您获得[1.2倍经验加成5小时]个人排名奖励", 10, "势力战奖励");
//										World.全局提示("势力战", 22, string.Concat(new string[]
//										{
//											"奖励玩家[",
//											players.UserName,
//											"][恭喜您获得[1.2倍经验加成5小时]个人排名奖励]！此奖励不分正邪奖励势力战排名前",
//											array[0],
//											"名"
//										}));
//									}
//									catch (Exception)
//									{
//									}
//								}
//							}
//							World.conn.发送("全服公告|10|势力战|战斗结束！共有[" + num + "]获得[1.2倍经验加成5小时]个人排名奖励");
//							logo.获奖人数Log("势力战战斗结束！共有[" + num + "]获得[1.2倍经验加成5小时]");
//						}
//					}
//				}
//			}
//			catch (Exception arg)
//			{
//                Dispose();
//                Form1.WriteLine(1, "势力战 个人奖励5 出错：" + arg);
//			}
//		}

//		public void 时间结束事件5(object source, ElapsedEventArgs e)
//		{
//			if (World.jlMsg == 1)
//			{
//				Form1.WriteLine(0, "EventClass_时间结束事件5");
//			}
//			try
//			{
//				this.时间5.Enabled = false;
//				this.时间5.Close();
//				this.时间5.Dispose();
//				World.AddNpc(15137, 0f, 0f, 801);
//				Thread.Sleep(1000);
//				World.AddNpc(15137, 10f, 0f, 801);
//				Thread.Sleep(1000);
//				World.AddNpc(15137, -10f, 0f, 801);
//			}
//			catch (Exception arg)
//			{
//                Dispose();
//                Form1.WriteLine(1, "势力战 时间结束事件5 出错：" + arg);
//			}
//		}

//		public void 势力战第一滴血获得物品(Players play)
//		{
//			try
//			{
//				string[] array = World.势力战奖励个人物品.Split(new char[]
//				{
//					','
//				});
//				if (array.Length > 0)
//				{
//					if (int.Parse(array[0]) != 0)
//					{
//						int num = -1;
//						try
//						{
//							num = int.Parse(array[1]);
//						}
//						catch
//						{
//						}
//						ItmeClass itmeClass = new ItmeClass();
//						if (num == -1)
//						{
//							itmeClass = ItmeClass.GetItme(array[1]);
//						}
//						else
//						{
//							itmeClass = ItmeClass.GetItmeID(num);
//						}
//						if (itmeClass != null)
//						{
//							int num2 = 1;
//							if (array.Length >= 3)
//							{
//								num2 = int.Parse(array[2]);
//							}
//							if (num2 < 1)
//							{
//								num2 = 1;
//							}
//							for (int i = 1; i <= num2; i++)
//							{
//								int num3 = play.得到包裹空位(play);
//								if (num3 == -1)
//								{
//									break;
//								}
//								play.增加物品带属性(itmeClass.FLD_PID, num3, num2, int.Parse(array[3]), int.Parse(array[4]), int.Parse(array[5]), int.Parse(array[6]), int.Parse(array[7]), int.Parse(array[8]));
//							}
//							play.系统提示("恭喜您获得 " + itmeClass.ItmeNAME + " 第一滴血奖励", 10, "势力战奖励");
//							World.conn.发送(string.Concat(new string[]
//							{
//								"全服公告|10|势力战|势力战第一滴血获得者是[",
//								play.UserName,
//								"]恭喜其获得物品[",
//								itmeClass.ItmeNAME,
//								"]"
//							}));
//							logo.获奖人数Log("势力战第一滴血获得者是[" + play.UserName + "]");
//						}
//					}
//				}
//			}
//			catch (Exception arg)
//			{
//                Dispose();
//                Form1.WriteLine(1, "势力战第一滴血获得物品 出错：" + arg);
//			}
//		}

//		public void 时间结束事件4(object source, ElapsedEventArgs e)
//		{
//			if (World.jlMsg == 1)
//			{
//				Form1.WriteLine(0, "EventClass_时间结束事件4");
//			}
//			try
//			{
//				int num = (int)this.kssjgj.Subtract(DateTime.Now).TotalSeconds;
//				World.势力战时间 = num;
//				World.conn.发送("势力战进程|5|0|" + this.势力战要求转职状态);
//				foreach (Players current in World.allConnectedChars.Values)
//				{
//					if (current.人物坐标_地图 == 801)
//					{
//						current.发送势力战消息();
//						if (current.Player_Zx != this.势力战sj)
//						{
//							current.移动(415f, 1528f, 15f, 101);
//						}
//					}
//				}
//				if (num <= 0)
//				{
//					this.时间4.Enabled = false;
//					this.时间4.Close();
//					this.时间4.Dispose();
//					World.势力战进程 = 6;
//					World.conn.发送("势力战进程|6|0|" + this.势力战要求转职状态);
//					foreach (Players current2 in World.allConnectedChars.Values)
//					{
//						if (current2.人物坐标_地图 == 801)
//						{
//							current2.移动(415f, 1528f, 15f, 101);
//						}
//					}
//					this.Dispose();
//				}
//			}
//			catch (Exception arg)
//			{
//                Dispose();

//                Form1.WriteLine(1, "势力战 时间结束事件4 出错：" + arg);
//			}
//		}

//		public void Dispose()
//		{
//			if (World.jlMsg == 1)
//			{
//				Form1.WriteLine(0, "EventClass-Dispose");
//			}
//			World.势力战进程 = 0;
//			World.conn.发送("势力战进程|0|0|0");
//			World.势力战时间 = 0;
//			World.势力战正分数 = 0;
//			World.势力战邪分数 = 0;
//			World.势力战第一滴血 = 0;
//			if (this.时间1 != null)
//			{
//				this.时间1.Enabled = false;
//				this.时间1.Close();
//				this.时间1.Dispose();
//			}
//			if (this.时间2 != null)
//			{
//				this.时间2.Enabled = false;
//				this.时间2.Close();
//				this.时间2.Dispose();
//			}
//			if (this.时间3 != null)
//			{
//				this.时间3.Enabled = false;
//				this.时间3.Close();
//				this.时间3.Dispose();
//			}
//			if (this.时间4 != null)
//			{
//				this.时间4.Enabled = false;
//				this.时间4.Close();
//				this.时间4.Dispose();
//			}
//			foreach (Players current in World.allConnectedChars.Values)
//			{
//				if (current.人物坐标_地图 == 801)
//				{
//					current.移动(415f, 1528f, 15f, 101);
//				}
//			}
//			World.eve = null;
//			World.delNpc(801, 15137);
//		}
//	}
//}
